/*
题目描述
读入一个10进制正整数，将其二进制向右进行循环移位，并输出移位后的结果。
请务必注意本题中的整数是32位无符号整数，输入和输出过程中可以使用%u进行处理。

输入
2个用空格隔开的正整数a和n，表示将a进行二进制循环移位，向右移动n个位置。保证n不大于30。

输出
a向右循环移位n个位置的10进制表示。
请注意行尾输出换行。
*/
#include<stdio.h>
int main(){
    unsigned int a,n;
    scanf("%u %u",&a,&n);
    
    // 实现二进制循环右移
    // 将右边移出的n位放到左边的高位
    unsigned int result = (a >> n) | (a << (32 - n));
    
    printf("%u\n", result);
    return 0;
}